The present invention is related to computing systems, and more particularly to a system and method for adjusting to changes in processor performance.
Designers of mobile computing platforms are faced with a delicate balance. They seek to increase performance of the CPU but at the same time limit the power consumed in order to conserve battery life and limit the heat generated by the system. As part of this balancing act mobile systems often rely on software-controlled thermal management systems in order to operate efficiently within a varying group of thermal constraints. For instance, a specification may define two or more thresholds that indicate temperatures at which different forms of software-controlled thermal management are activated. Active objects may be used to define a temperature threshold for a given thermal zone. When this threshold is exceeded, the operating system activates an active device (e.g., a fan or a remote heat exchanger), or reduces the battery charge current.
Historically, CPUs have had a discrete operating point, characterized by a given frequency and power. The frequency is typically some multiple of the external clock delivered to the CPU; the power dissipated by the CPU is a function of the core frequency and voltage applied to the CPU. As the applied voltage level is increased, advanced processing technologies allow for the core frequency to be increased, resulting in a nonlinear increase in power consumption.
Mobile systems typically operate at the lowest voltage and frequency pair required to keep the typical dissipated power below mobile battery-powered limits. Because voltage can be increased to deliver higher performance for a given component, desktop CPUs typically deliver higher performance than their mobile counterparts at any given point in time. Systems have been proposed which use passive thresholds to define a temperature at which the power of one or more CPUs should be reduced in order to cool a given thermal zone. In the Advanced Configuration and Power Interface (ACPI) model, the operating system varies the CPU duty cycle so the power dissipation of the CPU matches the power dissipation capabilities of the system. See, Advanced Configuration and Power Interface (ACPI)Specification, Revision 1.0., published by Intel, Microsoft and Toshiba in 1997. This type of thermal management is termed xe2x80x9cthrottlingxe2x80x9d or xe2x80x9cpassive cooling. To support throttling, the ACPI model defines registers that allow the operating system to control the duty cycle of the CPU.
Throttling reduces the heat generated by the mobile computing platform but does so without regard for processing efficiency. What is needed is a thermal management system and method which reduces heat while trying to maintain optimal processor performance.
According to one aspect of the present invention, in a computer system having a processor capable of operating at a plurality of performance states, wherein the plurality of performance states includes a low power state and a high performance state and wherein user threads are executable at each of the performance states, a system and method is described for controlling heat generated by the computer system. A thermal threshold is set. The system enters the high performance state and begins executing user threads. If, while in high performance state, a determination is made that the thermal threshold is exceeded, a transition is made to a low power state.
According to another aspect of the present invention, in a computer system having a processor capable of operating at a plurality of performance states, wherein the plurality of performance states includes a low power state and a high performance state and wherein user threads are executable at each of the performance states, a system and method is described for controlling heat generated by the computer system. A thermal threshold is set. The system enters the high performance state and begins executing user threads. If, while in high performance state, a determination is made that the thermal threshold is exceeded, a transition is made to a low power state. If, while in the low power state, it is determined that it is possible to transition back to the high performance state, a transition is made to the high performance state.